1. Field of the Invention
The present invention relates to a computer having a processor for executing an application program that utilized various resources and a communicator for communicating with another computer. The invention also relates to a multiprocessor computing apparatus having a plurality of processors for executing application programs and resources utilized by the application programs. More particularly, it relates to a computer or a multiprocessor computing apparatus having a lower dependence of the executed application program on the resource status and an improved adaptability of the same on a change in the resource status.
2. Description of the Prior Art
In a computer having a processor executing an application that uses various resources; and a communicator for communicating with another computer, it is known to use an application program of the first computer executed by a second computer through the communicator.
The above is practiced, for example, when a computer executing an application program is lacking or is short of the computer resource required for the execution of the application program.
For example, the execution of the first computer's application program by another computer is achieved by transmitting whole or part of the application program to another computer. Otherwise, when an application program is executed in a first computer, the application program is executed utilizing a resource of another computer through a predetermined communicator, according to a program included in the application program, in which the address of the other computer possessing the utilized resource is prescribed.
For example, a system is disclosed in Japanese Laid-open Patent Publication No. 63-178368 in which a task operating in a first computer accesses a resource in a second computer connected with the first computer through a communication line. In this system, the first computer is provided with a system table showing one or more second computers accessible by the first computer, a resource table showing resources, which are pointed from each item of the system table, possessed by the second computers and accessible by the first computer, and a chain comprising control blocks, which are pointed from the respective items of the resource table, each control block being provided for each task of the first computer accessing the resource shown in the item of the resource table.
According to the above Japanese Laid-open Patent Publication No. 63-178368, a computer in a system formed of a plurality of interconnected computers can access a resource in another computer.
In Japanese Laid-open Patent Publication No. 56-145442 an art is disclosed for achieving centralized management of resources by a plurality of computers by providing a resource management mechanism in a multi computer system. This art is such that, when a command for a resource securing request is issued from a computer to the resource management mechanism, the resource management mechanism transmits an interrupt signal indicating whether success or failure of the resource securing was to that computer. When the computer issues a command for a resource releasing request to the resource management mechanism, the resource management mechanism sends a notice of release to all computers or to that computer waiting for the release of resource by an interrupt signal.
According to the above Japanese Laid-open Patent Publication No. 56-145442, notice the release of the resource can be immediately transmitted to the computer waiting for the release of the resource after the resource has been released.
Hereinafter, an arrangement having a processor executing an application program, resources used by the application program, and a communicator for communicating with another computer will simply be called "computer".
The above resources (computer resources) include for example: (1) input devices such as key boards; (2) output devices such as line printers; (3) memory units such as hard disk; (4) data and files in the memory units; (5) processors (processing time, etc.) such as CPUs (central processing units); and (6) software executed by the processors.
The status of resources such as presence or absence of a resource and availability or nonavailability of the resource will hereinafter be called "resource status".
The above described application program means a program utilizing the resources. More specifically, it means a program controlling such resources and the like other than the operating system.
In arts allowing an application program to utilize a resource of another computer, such as that described above in which whole or part of the application program is transmitted to another computer having the required resource to execute the program at the other computer, and where a program for utilizing a resource of another computer included in the application program is used, a problem exists requiring the first computer to know in advance which computer the required resource is existing in. For example, an application program using resources has to be prepared by knowing which computer will execute the program, or in which computer the required resource is existing.
In the above described Japanese Laid-open Patent Publication No. 63-178368, each computer has to retain data of resources of all other computers. Accordingly, when a change is made in the resource status, all data about resources in other computer has to be revised. Thus, there has been difficulty in the data maintenance.
In the above described Japanese Laid-open Patent Publication No. 56-145442, there have been various problems because resources are managed by a plurality of computers in a centralized manner. That is, the art disclosed in the Japanese Laid-Open Patent Publication No. 56-145442 is difficult to apply to a multiprocessor computing apparatus of a distributed processing type. For example, when distributed processing is made in a plurality of computers connected through a LAN (local area network), there has a problem that the response speed is lowered because communication between the resource management mechanism for managing resources in a centralized manner and each computer have had to be made through the LAN.